package com.simple.demo.sort;

/**
 * 选择排序，不稳定
 * 每次取一个元素，与数组内的原始进行比较，如果遇到比自己小的元素，则交换位置
 */
public class SelectSort {

    public static void main(String[] args) {
        int arr []  = new int[]{90,34,45,12,100,78,56,23};
        System.out.println("数组排序前:");
        for(int in : arr){
            System.out.print(in +" ");
        }
        sort(arr);
        System.out.println("数组排序后:");
        for(int in : arr){
            System.out.print(in +" ");
        }
    }

    private static void sort(int [] arr){

        for(int i = 0 ; i < arr.length -1 ; i ++ ){
            int min = i;
            for(int j = i + 1  ; j < arr.length ; j ++){
                if(arr[min] > arr[j]){
                    min = j;
                }
            }
            if(min != i ){
                //证明找到了比自己小的原始,则进行交互
                int tmp = arr[i];
                arr[i] = arr[min];
                arr[min] = tmp;
            }
        }
    }
}
